// 封装流式请求方法
import { BASE_URL } from './env.js'; //引入接口共用地址
import { request } from '@/utils/request.js'; //导入封装好的js文件
export function streamChat(data, callback) {
  return new Promise((resolve, reject) => {
    let fullResponse = '';
    request({
      url: '/ai/streamChat',
      method: 'post',
      data: data,
      requestType: 'stream', // 确保你的封装支持这个参数
      header: {
        Accept: 'text/event-stream',
        'Content-Type': 'application/json'
      },
      enableChunked: true,
      // 如果是uni.request需要这样处理
      responseType: 'text', // 重要：必须设置为text
      success: (res) => {
        if (typeof res.data === 'string') {
          // 处理一次性返回的完整数据（小程序可能这样）
          fullResponse = res.data;
          callback(fullResponse);
        } else if (res.data && res.data.onChunkReceived) {
          // 处理分块接收（如果封装支持）
          res.data.onChunkReceived((chunk) => {
            fullResponse += chunk;
            callback(fullResponse);
          });
        }
        resolve(fullResponse);
      },
      fail: reject
    });
  });
}
